# 给你两个单链表的头节点 headA 和 headB ，请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点，返回 null 。

# 图示两个链表在节点 c1 开始相交：

# 来源：力扣（LeetCode）
# 链接：https://leetcode-cn.com/problems/intersection-of-two-linked-lists
# 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

# Definition for singly-linked list.
# 看了题解，a+b = b+a
class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None
class Solution:
    def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode:
        cur_1 = headA
        cur_2 = headB
        while cur_1 != cur_2:
            if cur_1:
                cur_1 = cur_1.next
            else:
                cur_1 = headB
            if cur_2:
                cur_2 = cur_2.next
            else:
                cur_2 = headA
        return cur_1